Automatic position control for a vehicle seat

ABSTRACT

A seat position control device for a powered or automatic seat adjusting mechanism for motor vehicles. The motor drives for the various adjustments uses a motor with a predetermined number of poles. Thus, for each revolution of a motor, a predetermined number of pulses is generated. By counting these pulses relative to a reference, the position of the seat can be determined. Within memory, a desired location setting may be registered to return the seat to that setting when desired. A commercially available microprocessor or suitable electronic components may be used as the logic and memory medium.

RELATED APPLICATIONS

The present application is a division of copending U.S. application Ser.No. 084,108, filed on Oct. 12, 1979.

BACKGROUND OF THE INVENTION

Automatic or powered tracks for seats of vehicles is well-known frommany U.S. patents such as U.S. Pat. Nos. 4,015,812 issued Apr. 5, 1977and 3,951,004 issued Apr. 20, 1976 both to M. O. Heesch. In thesepatents is shown a seat track mechanism in which three separate motorsor motor armatures are used for the respctive motor drives, i.e.,horizontal or fore and aft, vertical, front end and vertical rear end.Each such motor operates a mechanical drive for adjusting the seatposition in response to the manual operation of a motor controllingswitch. In such systems, a pair of switches may be provided for eachmotor, one switch of the pair for each direction of seat travel. One ormore switches are actuated and held actuated until the seat has reacheda desired position.

With these powered adjustments, an interest arose in setting a positionand retaining a memory of that position so that the seat would return tothat position automatically on actuation of one or more switches. Incertain of the developments in this field, the door position and returnwas tied to the door opening and closing. The mechanisms employedincluded cam-operated memory devices such as shown in U.S. Pat. Nos.2,827,105 issued Mar. 18, 1958; 3,183,314 issued May 11, 1965 and3,626,130 issued Sept. 11, 1970.

In patents of the type shown, cams or gears are positioned at a desiredsetting and declutched from the motor drive. The seat can then bepositioned free of the setting. If the seat is to be repositioned at thesetting represented by the cam, the cam is coupled to the motor by aclutch to stop the motor travel at the desired setting.

SUMMARY OF THE INVENTION

The present invention is directed to an electronic memory and controlfor automatic adjustment of a power seat track.

The memory and logic are contained within a microcomputer, and othercommercially available electronics.

The basic principle of the invention resides in the use of separatemotors for the three drives, the motors being selected to have a fixednumber of poles, five pole motors having been selected for use.

For each revolution of a motor, ten signals are produced, one from eachend of a pole passed during the revolution. A current transformer isused in series with the power leads of the motor to couple the signalsproduced by the poles to the electronics. The electronics shape the polesignals so that they can be counted to define seat positions relative toa reference location.

For each motor there is provided three memories, one acting as a presentposition indicator and the remaining two as set position memories. Thepresent position counter has at least twice as many memory locations asthe maximum number of pulses representing the full travel path of amotor. Thus, the original position of the counter need not becalibrated, the counter being set to its mid or center position onpower-up of the system. From the central point, the counter may traversethe full motor travel in pulses in either direction.

It is therefore an object of the invention to provide a new and improvedmemory and position control apparatus for a powered seat mechanism for avehicle.

It is a further object of the invention to provide an electronic controlfor an adjustable seat track positioning mechanism.

It is a still further object of the invention to provide a powered seattrack mechanism in which the revolutions made by the drive motors arecounted and a memory of the counts maintained relative to an arbitrarystarting position for controlling the movement of the seat to one of twoseparate settings, each setting being one of an almost infinite numberof possible settings.

It is still another object of the invention to provide an automaticmotor stall protection into the seat control of a powered seat trackmechanism.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of the circuit for the systememploying our invention;

FIG. 2 is a block showing the arrangement of FIGS. 2A-2C to comprise aschematic circuit drawing showing details of the block diagram of FIG.1;

FIG. 3 is a schematic logic block diagram of the microprocessordescribed herein; and

FIG. 4 is a block diagram providing the relative positions of FIGS. 4Aand 4B to show the flow chart of the power up routing;

FIG. 5 is a block diagram providing the relative positions of FIGS. 5Aand 5B to show the flow chart of the one scan sequence;

FIG. 6 is a block diagram providing the relative positions of FIGS. 6A,6B and 6C to make up the recall routine;

FIG. 7 is a block diagram providing the relative positions of FIGS. 7Aand 7B to make up the UP movement routine; and

FIG. 8 is a flow chart of the down movement routine.

DETAILED DESCRIPTION OF THE DRAWINGS

In the block diagram of FIG. 1, we show three motors 11, 12 and 13labeled horizontal, vertical front and vertical rear. These motors maybe housed in a single casing as shown by U.S. Pat. No. 3,437,303 issuedto J. Pickles on Apr. 8, 1969, or may be separated into individualhousings. The motors are of conventional construction and are five pole,bidirectional, permanent magnet motors. As is well-known (not shownherein), each motor through suitable mechanical linkage operates onedrive of the seat adjustment mechanism.

For each motor drive there is a relay, relay 21 for motor 11, relay 22for motor 12 and relay 23 for motor 13. In addition, there is a fourthrelay 24 which controls the direction of energization of the motors. Foreach relay 21-24, there is a driver 31-34 respectively, which respondsto the output signals L1-L4 from the microcomputer 40 to operate therespective relays.

The microcomputer or controller 40 is a four-bit device which may bethat one sold by Motorola, Inc. under the device number MC141200. Inputsto the controller are received from the motor current transformer pulseshapers and from the selection switches of selector switch bank 55 toproduce outputs to the relay drivers.

Each current transformer responds to the current variations caused bythe rotation of the motor with which it is associated. For eachrevolution of a motor, the motor being a five pole one, ten currentfluctuations or signals are generated in sequence. These signals aredetected and shaped by the pulse shapers 51-53. These pulses arereceived, acknowledged and stored in the controller as will beexplained.

Also providing input to the controller is the selector switch bank 55shown as a block in FIG. 1 but shown in greater detail in the circuit ofFIG. 2B joined as shown in FIG. 2.

In the circuit of FIG. 2B, there are shown nine normally open, singlepole, single throw, momentary contact switches comprising the selectorswitch bank 55. Each switch is commonly connected to the return leadwhich connects the K8 input of the controller. The switches include twohorizontal switches, one forward, the other rearward; two vertical rearswitches, one up, the other down; two vertical front switches, one upand the other down; a set switch 61, a recall his' switch 62, and arecall her's switch 63. Each switch has a path which may be tracedthrough an isolation diode D1-D9 to a common input lead to thecontroller or microprocessor (MPU) 40. The isolation diodes D1-D9 allowdetection of simultaneous multiple switch actuation. There are nineoutput switch enable leads R6-R13 and R15 and the common input checklead K8. The controller activates each output R6-R13 and R15individually and checks the K8 input for an indication of the activationof the switch associated with the R output activated at that instant.

The seat movement is accounted for by the controller through pulsesignal inputs derived from three current transformers 41-43 (FIG. 2A),one associated with each motor. As a motor rotates, the currenttransformer senses a signal associated with the current variationscaused by motor commutation. The secondary of the transformer such as 42is coupled to the inputs of a comparator 66 through like resistors 67and 68. The secondary of the transformer 42 also has a capacitor 70across the leads to provide high frequency cancellation. The rectangularwave output from the comparator is passed through a differentiator orfalling edge detection circuit comprised of capacitor 72 and associatedcomponents. The components, including capacitor 72, gate 74 andassociated components taken as a whole, act to shorten the pulse widthand provide pulse shaping in a manner appropriate for the SET input ofthe pulse latch 80. This pulse compression reduces the chance of the SETinput and RESET input from the controller 40 occuring simultaneously.When the controller 40 senses the latch or flip-flop 80 set, the pulsewill be internally counted and an acknowledge or reset pulse is sentfrom controller output O2, which resets latch 80.

Thus, there are three pulse inputs to the controller, horizontal oninput K1, vertical rear on input K2 and vertical front on input K4.Associated with each of these inputs is a reset or acknowledge outputfrom the controller, O0, O1 and O2, connected to the RESETS of latches80, 81 and 82 respectively.

For the microcomputer and the pulse input circuits, there is a five voltD.C. source derived from the 12 volt battery input from the vehiclesupplied on lead L1 (FIG. 2B). The input is regulated by the zener diodeD20 and through transistor Q5 to provide the supply voltage to themicrocomputer and pulse shaping circuits. Once the system is coupled tothe battery, the controller is powered up and remains in operation. Onlyin the event of disconnection from the battery souce is the controllershut off, in which case, the stored data within the volatile memories ofthe controller are lost.

The output section of the system comprises four transistor driver stages31-34, each connected to its respective relay 21-23 (FIG. 2C). Three ofthe relay coils 21-23 control contacts K1-K3 for operation of therespective motors. The fourth relay 34 controls the direction ofoperation of the three motors. With relay 34 unenergized, and contactsK4 in the normal position as shown in FIG. 2C, ground is connected tothe lower end of the winding of each motor. This ground will energizeeach motor enabled by the activation of the upward or forward switchesof switch bank 55 (FIG. 1), in the forward or upward direction. With amotor relay 31-33 energized, 12 volt battery is supplied to the topwinding of the respective motor winding to enable the motor or motors inthe forward or upward direction. With relay K4 energized, 12 voltbattery is supplied to the loer motor winding allowing the motor ormotors to be operated in the backward or downward direction when therespective relay 31, 32 or 33 is de-energized. All motors, 11, 12 and13, will be off either when the four relays 21-24 are de-energized orwhen the four relays are all energized.

In FIG. 3, we show the manufacturers functional block diagram of asingle chip microcomputer, type MC141200, which may be used as thecontroller.

Within the microcomputer, there is a read only memory which retains theprogram for controlling data input, storage, processing and output. Datawhich is input on the K inputs from the motor rotation pulse detectioncircuits and from the switches flow to the logic unit for processing.These inputs enter the logic unit and cause modifications to the programexecution sequence eventualizing a logical control of the outputs. Theoutputs O0-O2 act as acknowledge resets for the pulse latches. The Routputs are used to scan the function switches and also to enable theappropriate relay drivers and associated motor relays.

There are nine such switches multiplexed into one input (K8) with nineoutput multiplex enabling leads R6-R13 and R15. No more than oneenabling output shall be activated at any particular instant. Theseswitches can be divided into four functional groups:

A. Positioning Switches, Forward or Up (Three such switches)

B. Positioning Switches, Reverse Rearward or Down (Three such switches)

C. Recall Switches (Two switches)

D. Set Switch (One switch)

When the system is idle, the first function group switch to be activatedis the group which takes precedence.

Within switch groups A. and B., the first switch depressed determinesthe group acted upon and the other switches within that group will bemonitored and acted upon simultaneously. All other switches are ignoreduntil all switches of the original direction group are released.

Within switch group C., the first switch depressed is the one acted uponwhile all other switches are ignored until the first switch is released.

Within switch group D., the controller is enabled for the setting of aparticular memory (His or Hers). With the group D. switch beingdepressed and held, all other function groups can and will be actedupon.

When a switch in group C. is activated (Recall Switches), the controllercomputes the distance and direction to the desired position and enablesthe appropriate motors accordingly over output leads R0-R3. If recallingrequires a motor or motors to go forward and other motors reverse, themotors are enabled in the forward direction first and then the reversedirection is enabled for the appropriate motor(s) once all the motorsactivated in the forward direction have reached their destination orhave stalled.

A recall switch (group C.) depressed following activation of the setmode, causes the present seat position to be saved in the memoryposition (His or Hers) represented by that recall switch. If apositioning switch (group A. and B.) is depressed following theactivation of the set mode, the set mode is deactivated.

If the controller detects that a motor has stalled due to reaching theend extreme of a particular direction or due to system failure, thatmotor direction will be disabled for further attempts of movement inthat direction. To re-enable that direction, the controller must detectmovement in the opposite direction.

In the flow charts, FIG. 4 represents the program entry when power isapplied to the system. This program entry is executed whenever the poweris initially applied to the system. The system thereafter runs andcycles continuously as long as power is maintained. The system willremain running and operative for the life of the system. Whenever thepower is removed and subsequently replaced, initiallization will recur.

For each direction, horizontal, vertical rear and vertical front, thereare four buffers or memories used within the controller. These include:the actual position buffer (POS), two memory buffers (HIS and HER) and adestination buffer (DEST) used for calculating the distance todestination.

Additional memories within the controller include various one bitmemories or flags used for processing control. One group of flagsreferred to as flag 0, flag 1 and flag 2 are used as indicators forwhich motors are presently enabled to allow counting of rotation pulsesfor these motors only. Another grouping of flags indicates which motordirections have stalled in the past and should not be enabled. There aresix of these flags; Hz stall forward, Hz stall backward, VR stallforward, VR stall backward, VF stall forward and VF stall backward. Inaddition, there are three other flags to control processing, the RCLMDflag indicates whether or not recall processing is taking place, theSETMD flag indicates whether the set switch has been activated and theHISRCL flag indicates which recall switch was last activated.

Viewing FIG. 4B, the first process occuring on a power-up condition isto clear all random access memory of spurious data. The position bufferand His' and Her's buffers or memories are then initialized to thenumeric center position of the memories with disregard for the initialpositions of the seat adjustment mechanism. Since the buffer memorieshave a capacity of more than double the number of possible motorpositions, a full traverse of any motor drive is then possible withoutmemory overflow.

When the system is inactive (no switches activated), all nine switchesare continuously scanned. This is accomplished as shown in the flowdiagrams FIGS. 4B, 4A and 5A with the routines labeled UPLOOP, DWNLP andRCLCK. This program sequence is repeated until a switch is activated.When a switch is activated, the program sequence will change accordingto the function described by the activated switch.

If an up positioning switch is pressed, detection would be accomplishedin the UPPOS routine as shown in FIG. 4B. The program will check thecorresponding stall forward flag to determine if that particulardirection may be enabled. Assuming that the stall flag is not set, thecorresponding count enable flag (flag 0, flag 1 or flag 2) will be set.

Continuing, the other up direction switches are checked for activationand similarly, the appropriate count enable flags will be set, providingstall has not occured in these directions. Previous to entry into DWNLP(FIG. 4A), a check is made for any count enable flags being set.

With an up position switch having been pressed and the flag set, theprogram will then take the branch causing the SETMD flag to be reset(positioning switches disable the set mode as described previously) andflow proceeds to the UPPOS routine. The UPPOS routine handles theturning on and off of motors and the counting of pulses as allowed bythe count enable flags.

Inspection of FIG. 7A shows that a motor will be turned off or turned ondirectly, dependent upon the state of flag 0. With the flag set, andmotor enabled, the pulse input is then inspected for a correspondingrotation pulse. If no pulse is present, the associated stall counter isincremented to keep track of the number of complete up positioningprogram loops made without a pulse being present. When this counteroverflows, the forward stall flag will be set, the count enable flagwill be reset and the motor will be turned off. This will happen afteran approximate one-half second absence of rotation pulses.

When a rotation pulse is sensed, the program outputs a pulse latchreset, increments the position memory by one count, increments thedistance to destination memory by one count, zeros or resets the stallloop counter and will reset the opposite (reverse) stall flag ifpreviously set. This described procedure is repeated for the other twodirections as shown in FIG. 7B. The last check within the UPPOS routineis to check for the RCLMD flag being set. Since this routine is used forboth positioning and recalling, this check is needed to determine whichpart of the program to return to, UPLOOP or UPRCL.

The cyclical sequence for up positioning, which include the routinesUPLOOP and UPPOS, are repeated until all count enable flags are reset.This will occur after all up positioning switches are released and/orall up direction motors have stalled. At that time, program flowproceeds to the DWNLP routine where similar processing takes place uponinspection of the down positioning switches and motor rotation pulses.

When down positioning is complete, program flow proceeds to the RCLCKroutine. This routine checks the remaining switches associated withmemory setting and recalling. The action taken upon detection of the SETswitch is to simply set the SETMD flag for future reference. If the SETswitch is not activated, the two RECALL switches are inspected foractivation. With one of these switches being activated, the program thenchecks the SETMD flag to determine what action to take.

If the SETMD flag is set, due to a previous activation of the SETswitch, memory setting will be accomplished by transferringnon-destructively, the contents of the present position memory to theappropriate memory, HIS or HER, depending upon which recall switch isactivated. Otherwise, the indicated function is to accomplish a memoryposition recall, either his' or Her's.

For future reference as to what type of recall is taking place, a HISRCLflag will be set if HIS RECALL switch is activated or reset if HERRECALL switch is activated. The routine then sets up for adistance-to-destination calculation by transferring, non-destructively,either the HIS or HER memory to the DEST memory. The program thensubtracts this calculated number from the present position value andreturns the result to the DEST memory. The DEST memory now reflects thenumber of pulses required to reach the destination for each direction,horizontal, vertical rear and vertical front.

Proceeding to the RCL routine, the program sets the RCLMD flag and theninspects each DEST value for a negative quantity (FIG. 6A). If the valueis negative, which indicates movement in the up or forward direction isnecessary, a check for stall in that direction is made and the countenable flag is set appropriately. After the same procedure is repeatedfor the other two directions, the routine UPRCL is entered.

The UPRCL routine as shown in FIG. 6A inspects the DEST memories todetermine when the destination has been reached. When that condition hasbeen met, the associated count enable flag is reset.

The cyclical sequence for upward recalling passes repeatedly through theUPRCL routine and the UPPOS routine. As described previously, the UPRCLroutine determines when a particular direction should stop movement,indicated by the reseting of the associated flag and the UPPOS routinedoes the actual output control of the motor and the counting of rotationpulses as well as the detection of motor stall. The last sequence withinthe UPRCL routine determines whether the recall switch, which initiatedthe recall, as indicated by the HISRCL flag, remains activated. Thisallows the system to terminate a recall operation by release of therecall switch. If it is determined that the switch has been released,the program proceeds to ALLOFF routine which shuts off all motors andresets flags to return the system to the inactive state.

When the upward recall is completed, as determined by all count enableflags being reset due to reaching the destination for all forwardmovement or due to stall (assuming the recall switch remains activated),the flow then proceeds to the downward recall portion of the program.Downward recalling is accomplished in a manner similar to upwardrecalling with repetitive cycling through the DWNRCL routine (FIG. 6C)and the DWNPOS routine (FIG. 8). Again, at the end of the DWNRCLroutine, checks are made for switch release and downward recallcompletion. In order to exit from the recall routine and return to theinactive mode, the switch must be released. When these conditions aremet, the routine flow proceeds to the ALLOFF routine and then commenceswith the complete switch scan associated with the idle mode.

We claim:
 1. Apparatus for controlling the position of a vehicle seatwithin a powered seat mechanism, said apparatus including a reversiblemotor rotatable to drive said seat in either of two opposite directionswithin a travel path of limited extent, means for producing digitalsignals during rotation of the motor representative of the position ofthe seat within said travel path, logic and signal storage meansincluding memory means receptive of said digital signals for storingtherein data representative of the actual position of the seat withinsaid travel path, manually selective position conrol means for settingsaid memory means to store data representative of a desired positionwithin said travel path for said seat, position recall means manuallyactuatable to signal said logic and storage means to initiate rotationof the motor to drive said seat toward the desired position, said signalproducing means operative during rotation of said motor to producesignals for transmission to said memory means to control the drive ofthe seat to the desired position, and in which said memory means has thecapacity for storing at least 2n digital signals where n is equal to thenumber of digital signals produced during the drive of the seat throughthe extent of the travel path in one direction.
 2. Apparatus as claimedin claim 1, in which said memory means comprises a first memory for theactual position of the seat and a second memory for the desired positionof the seat, and in which each memory is capable of storing at least 2ndigital signals.
 3. Apparatus as claimed in claim 1, in which there is asecond manual selective position control means for setting said memorymeans to store data representative of a second desired position withinsaid travel path, second position recall means manually actuatable tosignal said logic and storage means to initiate rotation of the motor todrive the seat to the second desired position, and in which said memorymeans includes a first memory for the actual position of the seat, asecond memory for storing the first desired position and a third memoryfor storing the second desired position and in which each of saidmemories is capable of storing at least 2n digital signals.
 4. Apparatusfor controlling the position of a vehicle seat within a powered seatmechanism, said apparatus including a plurality of reversible motorsindividually rotatable to drive said seat in either of two oppositedirections within a plurality of separate travel paths of limitedextent, means individual to each path for producing digital signalsduring rotation of the respective motor representative of the positionof the seat within the respective travel path, logic and signal storagemeans including separate memory means for each travel path receptive ofsaid digital signals for storing therein data representative of theposition of the seat within each said travel path, manually selectiveposition control means for setting respective memory means to store datarepresentative of a desired position within each respective travel pathfor said seat, position recall means manually actuatable to signal saidlogic and storage means to initiate rotation of the respective motors todrive said seat toward the desired position for the respective paths,said signal producing means for each motor operative during rotation ofthe respective motor to produce signals for transmission to said memorymeans to control the drive of the seat to the desired position, and inwhich said memory means comprises at least one memory for each travelpath and in which each said memory has the capacity for storing at least2n digital signals where n is equal to the number of digital signalsproduced during the drive of the seat through the full extent of therespective travel path in one direction.
 5. Apparatus as claimed inclaim 4, in which the memory for each travel path includes an actualposition memory and a desired position memory and each of said lastmentioned memories is capable of storing at least 2n digital signals.